#include <stdio.h>
void test01()
{
        int a = 10;
        //直接赋值
        a = 100;
        //间接赋值
        int *p = &a;
        *p = 200;
}
struct Person
{
        char a;
        int b;
        char c;
        int d;
};
void test02()
{
        struct Person p = {'a',100,'b',200};
        printf("p.d:%d\n", p.d);
        
        p.d=1000;

        printf("%d\n",*(int *)((char *)&p + 12));

        //printf("%d\n", &(p.d));

        //double *pp =NULL;
        //printf("p:%d\n",pp);
        //printf("p+1:%d\n",pp+1);
}
int main(int argc, char const *argv[])
{
        test02();
        return 0;
}
